package org.jeecg.modules.yinsheng.command.walletprotocolpay;

import org.jeecg.modules.yinsheng.annotation.Length;
import org.jeecg.modules.yinsheng.annotation.NotBlank;
import org.jeecg.modules.yinsheng.command.base.BaseBizReqCommand;

public class SignProtocolReqCommand extends BaseBizReqCommand {
	// 业务请求号
	@NotBlank(message = "业务请求号不能为空")
	@Length(max = 32, message = "业务请求号最大长度不能超过32个字符")
	private String requestNo;

	// 收款方银盛商户号
	@NotBlank(message = "收款方银盛商户号不能为空")
	private String payeeMerchantNo;

	// 客户标识，平台商维度下同一客户唯一 同一客户绑定多张卡时，传同一个userId
	private String userId;

	// 付款方银行账号(必填)
	@NotBlank(message = "银行卡号不能为空")
	private String payerBankAccountNo;

	// 付款方银行户名(必填)
	@NotBlank(message = "姓名不能为空")
	private String payerBankAccountName;

	// 付款银行绑定手机号(必填)
	@NotBlank(message = "银行绑定手机号不能为空")
	private String payerPhone;

	// 付款方证件号码(必填)
	@NotBlank(message = "付款方证件号码不能为空")
	private String payerCredentialNo;

	// 付款方证件类型（暂只支持身份证类型：00）(必填)
	@NotBlank(message = "付款方证件类型不能为空")
	private String payerCredentialType = "00";

	// CVV码（贷记卡必填）
	private String cvv;

	// 贷记卡必填，有效结束日期
	private String validTimeEnd;

	// 手机串号
	private String mobileIMEI;
	/**
	 * 支付作用范围，默认传01，此字段不对外 01：发起方+商户旗下客户+持卡人+收款方 02：发起方+商户旗下客户+ 持卡人
	 */
	private String paymentScope = "01";

	public String getRequestNo() {
		return requestNo;
	}

	public void setRequestNo(String requestNo) {
		this.requestNo = requestNo;
	}

	public String getPayeeMerchantNo() {
		return payeeMerchantNo;
	}

	public void setPayeeMerchantNo(String payeeMerchantNo) {
		this.payeeMerchantNo = payeeMerchantNo;
	}

	public String getUserId() {
		return userId;
	}

	public void setUserId(String userId) {
		this.userId = userId;
	}

	public String getPayerBankAccountNo() {
		return payerBankAccountNo;
	}

	public void setPayerBankAccountNo(String payerBankAccountNo) {
		this.payerBankAccountNo = payerBankAccountNo;
	}

	public String getPayerBankAccountName() {
		return payerBankAccountName;
	}

	public void setPayerBankAccountName(String payerBankAccountName) {
		this.payerBankAccountName = payerBankAccountName;
	}

	public String getPayerPhone() {
		return payerPhone;
	}

	public void setPayerPhone(String payerPhone) {
		this.payerPhone = payerPhone;
	}

	public String getPayerCredentialNo() {
		return payerCredentialNo;
	}

	public void setPayerCredentialNo(String payerCredentialNo) {
		this.payerCredentialNo = payerCredentialNo;
	}

	public String getPayerCredentialType() {
		return payerCredentialType;
	}

	public void setPayerCredentialType(String payerCredentialType) {
		this.payerCredentialType = payerCredentialType;
	}

	public String getCvv() {
		return cvv;
	}

	public void setCvv(String cvv) {
		this.cvv = cvv;
	}

	public String getValidTimeEnd() {
		return validTimeEnd;
	}

	public void setValidTimeEnd(String validTimeEnd) {
		this.validTimeEnd = validTimeEnd;
	}

	public String getMobileIMEI() {
		return mobileIMEI;
	}

	public void setMobileIMEI(String mobileIMEI) {
		this.mobileIMEI = mobileIMEI;
	}

	public String getPaymentScope() {
		return paymentScope;
	}

	public void setPaymentScope(String paymentScope) {
		this.paymentScope = paymentScope;
	}

}
